A peripheral is typically interfaced to a host device through a Universal Serial Bus (USB) port. A driver is needed by the Operating System (OS) to successfully interact with firmware of the peripheral on the host device. That is, the OS needs to understand how to communicate with the firmware of the peripheral and how to process information received from the peripheral; the driver for the peripheral provides this necessary OS interface.
Changes and updates to peripheral drivers frequently occur as do changes and updates to the OS. Two different attached peripherals may produce driver information from their drivers that is of a same type of information recognized and processed by the OS. Also, when a new peripheral driver is added to a host device for a new peripheral, the underlying information processed by the OS may conflict with peripheral information for an existing installed peripheral driver of an existing interfaced peripheral.
These conflicts between drivers can cause a variety of problems. For example, an existing driver may need to be removed from the OS for a new driver to be successfully installed. The existing driver may or may not be capable of being reinstalled once the new driver is successfully installed on the host device. The new driver may cause native functions available in an existing installed driver to stop working. Additionally, when support is needed for these driver conflicts, the first thing technical support will request is that the user first remove the existing driver from the OS before trying to install the new driver.
In some cases, a user may receive no notice of any conflicts between a newly installed driver and an existing driver until a certain function is attempted by the user, which may then case a fatal fault in the host device or may return information to the user that is totally unexpected causing significant user confusion.